.\" Copyright (C) 2006 International Business Machines Corporation
.\" Written by Anthony Bussani based on the Trusted Computing Group Software Stack Specification Version 1.2
.\"
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "Tspi_DAA_IssueInit" 3 "2006-09-04" "TSS 1.2"
.ce 1
TCG Software Stack Developer's Reference
.SH NAME
Tspi_DAA_IssueInit \- initialize the Issuer for a join operation
.SH "SYNOPSIS"
.ad l
.hy 0
.nf
.B #include <tss/tss_typedef.h>
.B #include <tss/tss_structs.h>
.B #include <tss/tspi.h>
.sp
.BI "TSPICALL Tspi_DAA_IssueInit("
.BI "    TSS_HDAA                      " hDAA ","
.BI "    TSS_HKEY                      " issuerAuthPK ","
.BI "    TSS_HKEY                      " issuerKeyPair ","
.BI "    TSS_DAA_IDENTITY_PROOF        " identityProof ","
.BI "    UINT32                        " capitalUprimeLength ","
.BI "    BYTE*                         " capitalUprime ","
.BI "    UINT32                        " daaCounter ","
.BI "    UINT32*                       " nonceIssuerLength ","
.BI "    BYTE**                        " nonceIssuer ","
.BI "    UINT32*                       " authenticationChallengeLength ","
.BI "    BYTE**                        " authenticationChallenge ","
.BI "    TSS_DAA_JOIN_ISSUER_SESSION*  " joinSession
.BI ");"
.fi
.sp
.ad
.hy

.SH "DESCRIPTION"
.PP
\Tspi_DAA_IssueInit\fR
is a function that is part of the DAA Issuer component. It's the first function out of 2 in order
to issue a DAA Credential for a TCG Platform. It assumes that the endorsement key and its associated
credentials are from a genuine and valid TPM. (Verification of the credentials is a process defined
by the TCG Infrastructure WG.)

.SH "PARAMETERS"
.PP
.SS hDAA
The \fIhDAA\fR parameter is used to specify the handle of the DAA object.
.SS issuerAuthPK
The \fIissuerAuthPKh\fR parameter is the root authentication (public) key of DAA Issuer.
.SS issuerKeyPair
The \fIissuerKeyPair\fR parameter is the handle of the main DAA Issuer key pair (private and public portion).
.SS identityProof
The \fIidentityProof\fR parameter is the structure containing endorsement, platform and conformance
credential of the TPM requesting the DAA Credential.
.SS capitalUprimeLength
The \fIcapitalUprimeLength\fR parameter is the length of capitalUprime which is .
.SS capitalUprime
The \fIcapitalUprime\fR parameter is U'.
.SS daaCounter
The \fIdaaCounter\fR parameter is the DAA counter.
.SS nonceIssuerLength
The \fInonceIssuerLength\fR parameter is the length of nonceIssuer (20 bytes).
.SS nonceIssuer
The \fInonceIssuer\fR parameter is the nonce of the DAA Issuer.
.SS authenticationChallengeLength
The \fIauthenticationChallengeLength\fR parameter is the length of authenticationChallenge
(256 bytes - DAA_SIZE_NE1).
.SS authenticationChallenge
The \fIauthenticationChallenge\fR parameter is the second nonce of the DAA Issuer that is
encrypted by the endorsement public key. It is used as a challenge to authenticate the TPM.
.SS joinSession
The \fIjoinSession\fR parameter is the structure containing the DAA Join session information.
.SH "RETURN CODES"
.PP
\fBTspi_DAA_IssueInit\fR returns TSS_SUCCESS on success, otherwise one of the
following values is returned:
.TP
.SM TSS_E_INVALID_HANDLE
Either the DAA is not valid.
.TP
.SM TSS_E_BAD_PARAMETER
.TP
.SM TSS_E_INTERNAL_ERROR
An internal SW error has been detected.

.SH "CONFORMING TO"
.PP
\fBTspi_DAA_IssueInit\fR conforms to the Trusted Computing Group
Software Specification version 1.2

.SH "SEE ALSO"

.PP
\fBTspi_DAA_IssuerKeyVerification\fR(3)

